package com.ruoyi.web.controller.system;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.pojo.CjCjmx;
import com.ruoyi.system.pojo.CjCjrw;
import com.ruoyi.system.service.WzwService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

@Controller
public class SysTaskController extends BaseController {
    @Autowired
    private WzwService wzwService;


    @GetMapping("/index111")
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("index");
        mv.addObject("one","第一个");
        mv.addObject("key","value");
        return mv;
    }
    /**
     * 获取任务列表页面的接口
     *
     * @return
     */
    @GetMapping("/task")
    public String task() {
        return "task/task";//WEB-INF/view/task/task.jsp
    }

    /**
     * 任务列表接口
     */
    @PostMapping("/taskList")
    @ResponseBody
    public TableDataInfo taskList(ModelMap model) {
        startPage();
        List<CjCjrw> resultList = wzwService.getTaskList();
       // model.addAttribute("resultList",resultList);
        return getDataTable(resultList);
    }

    /**
     * 获取新增任务界面
     *
     * @return
     */
    @GetMapping("/addY")
    public String addY() {
        return "task/add";
    }

    /**
     * 新建任务页面的保存按钮
     */
    @PostMapping("/addTask")
    @ResponseBody
    public AjaxResult addTask(CjCjrw cjCjrw) {
        wzwService.addTask(cjCjrw);
        return AjaxResult.success();
    }

    /**
     * 新增任务页面的开始抓取
     *
     * @param cjCjrw
     * @return
     * @throws Exception
     */
    @PostMapping("/addGrabTask")
    @ResponseBody
    public AjaxResult addGrabTask(CjCjrw cjCjrw) throws Exception {
        wzwService.addGrabTask(cjCjrw);
        return AjaxResult.success();
    }


    /**
     * 获取编辑任务页面
     *
     * @param id
     * @param mmap
     * @return
     */
    @GetMapping("/editY/{id}")
    public String editY(@PathVariable Long id, ModelMap mmap) {
        CjCjrw cjCjrw = wzwService.findTitleById(id);
        mmap.put("rw", cjCjrw);
        return "task/edit";
    }

    /**
     * 编辑页面的修改按钮
     *
     * @param cjCjrw
     * @return
     */
    @PostMapping("/update/task")
    @ResponseBody
    public AjaxResult update(CjCjrw cjCjrw) {
        wzwService.update(cjCjrw);
        return AjaxResult.success();
    }
    /**
     * 编辑页面的爬取按钮
     *
     * @param cjCjrw
     * @return
     * @throws Exception
     */
    @PostMapping("/updateGrabTask")
    @ResponseBody
    public AjaxResult updateGrabTask(CjCjrw cjCjrw) throws Exception {
        wzwService.updateGrabTask(cjCjrw);
        return AjaxResult.success();
    }


    /**
     * 获取任务爬取的数据的明细页面
     *
     * @param rwid
     * @param mmap
     * @return
     */
    @GetMapping("/mx/{rwid}")
    public String mx(@PathVariable Long rwid, ModelMap mmap) {
        mmap.put("rwid", rwid);
       return "task/mx";
    }

    /**
     * 根据任务的id，获取任务爬取的数据详情列表
     *
     * @param rwid
     * @return
     */
    @PostMapping("/indexDetail/{rwid}")
    @ResponseBody
    public TableDataInfo getMxListByRwId(@PathVariable Long rwid) {
        startPage();
        List<CjCjmx> resultList = wzwService.findById(rwid);
        return getDataTable(resultList);
    }

}
